Using the REST Connector in Argos
To use the REST Connector in Argos, create a DataBlock and then select your REST Connector data connection in the Associated Connection/Group dropdown.
You can now use the REST Connector in your queries as you would any other data connection. This could be in the Visual Designer, free type report query, multi-column list boxes, or in any other location where you can use SQL in Argos.
The following example shows how a query might look in the Free Type report query editor.
Validate and test the query to ensure that you are getting back the expected results:
You can now use the connector to create reports using this report query.
Note: You can avoid or reduce the use of underscores in your field names by specifying the XPath to the field when configuring the endpoint.
Using LIMITs
Please note that LIMITs can only be placed at the end of the outer-most SELECT statement. The REST Connector does not support LIMITS within sub-queries.
Query Construction when Using Mapped Query Parameters
If your REST Connector is configured to map query parameters to API parameters, you will need to know which fields and operators have been mapped in order to have the filtering done as part of the API call and not by Argos after the data has been returned. If Argos does the filtering, you will still get the expected results; however, the query may take longer to run and you may be requesting more data than intended from the API.
Supported SQL clauses include:
- SELECT
- INTO
- FROM
- JOIN
- WHERE
- GROUP BY
- HAVING
- UNION
- ORDER BY
- LIMIT
Note that your WHERE clauses must be kept very simple. You can use multiple mapped fields separated by AND keywords. For example:
- WHERE magnitude_mag_value > 8 AND description_text is not null
More complex WHERE clauses involving OR clauses, nested queries, or subqueries are not supported. For example, all of the following WHERE clauses will retrieve all data from the API and then apply the filtering in the WHERE clause after the data has been returned to Argos:
- WHERE magnitude_mag_value > 8 OR description_text is null
- WHERE magnitude_mag_value > 8 OR (magnitude_mag_value > 5 AND description_text is not null)
- WHERE description_text in (select description_text from event)